<template>
  <UploadExcel
    :beforeUpload="beforeUpload"
    :onSuccess="onSuccess"
  ></UploadExcel>
</template>
<script>
import { sysUserBatch } from '@/api/employees'
// import moment from 'moment'
export default {
  methods: {
    beforeUpload (file) {
      return true
    },
    async onSuccess (obj) {
      window.console.log(obj)
      /*
        username: '', //string	非必须		姓名
        mobile: '', //string	非必须		手机号
        timeOfEntry: '', //string	非必须		入职时间
        formOfEmployment: '', //	number	非必须		聘用形式
        workNumber: '', //string	非必须		工号
        departmentName: '', //string	非必须		组织名称
        correctionTime: '' //string	非必须		转正时间
      [{ 
        入职日期: 43535
        姓名: "高大山1"
        工号: 201893
        手机号: 13141131110
        转正日期: 43719}]
        */
      // 将数据中的中文key转换成英文key
      //  obj.results===>将数组中每一项的值的key转换成相应的英文字符
      const _keyObj = {
        入职日期: 'timeOfEntry',
        姓名: 'username',
        工号: 'workNumber',
        手机号: 'mobile',
        转正日期: 'correctionTime'
      }

      /*
      1970年1月1日开始计算的
      excel:它是从1900年到目前的天数,从1天始的
      
      */

      let _newArr = []
      obj.results.forEach(item => {
        // ["手机号", "姓名", "入职日期", "转正日期", "工号"]
        window.console.log(Object.keys(item))
        let _obj = {}
        Object.keys(item).forEach(item2 => {
          // _obj['timeOfEntry']===_obj[_keyObj['入职日期']]
          if (item2 === '入职日期' || item2 === '转正日期') {
            // 1900天数转换成基于1970年的标准时间
            // 都转换成时间戳,通过时间处理往前移70年就ok了
            //  (天数-1)*24*60*60*1000:时间戳
            let _t = new Date((item[item2] - 1) * 24 * 60 * 60 * 1000)
            // new Date是基于1970年计算的时间但是excel内应该是基于1900的时间,newData给这个时间多算了70年
            // setYear(传入年):为某时间重置年
            _t.setYear(_t.getFullYear() - 70)
            window.console.log(_t)
            // _obj[_keyObj[item2]] = moment(_t).format('YYYY-MM-DD')
            _obj[_keyObj[item2]] = _t
          } else {
            _obj[_keyObj[item2]] = item[item2]
          }
        })
        _newArr.push(_obj)
      })
      window.console.log(_newArr)
      await sysUserBatch(_newArr)
      this.$message.success('批量导入成功')
      this.$router.push('/employees')
      // this.$router.go(-1)
      /*
      调用批量新增接口实现数据批量导入
      1:定义接口api
      2:导入接口api
      3:在数据转换完成后调用接口
      4:调用成功,提示一下,跳转回相应页面      
      */
    }
  }
}
</script>
<style></style>
